package kr.saeildamil.androidstudy.ch16;

import java.util.Calendar;

import kr.saeildamil.androidstudy.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

public class Ch16AlertDlg extends Activity {
	final static int SAMPLEDLG = 0;   //대화상자 미리 생성 관련
	final static int QUESTIONDLG = 1;

	int a = 3;  //질문하기 관련 
	int b = 4;
	int result;
	
	int mSelect = 0;  //목록선택 라디오 관련
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.ch16_alertdialog);
	}

	@SuppressWarnings("deprecation")
	public void mOnClick(View v) {
		switch (v.getId()) {
		case R.id.ch16_alertdialog_btn01:
			AlertDialog.Builder bld01 = new AlertDialog.Builder(this);
			bld01.setTitle("알립니다");
			bld01.setMessage("대화상자를 열었습니다");
			bld01.setIcon(R.drawable.suzy);
			bld01.show();
			break;
		case R.id.ch16_alertdialog_btn02:
			new AlertDialog.Builder(this).setTitle("알립니다2")
					.setMessage("대화상자를 열었습니다").setIcon(R.drawable.suzy)
					.setNegativeButton("닫기", null).setCancelable(false).show();
			break;
		case R.id.ch16_alertdialog_btn03:
			new AlertDialog.Builder(this).setTitle("알립니다2")
					.setMessage("대화상자를 열었습니다").setIcon(R.drawable.suzy)
					.setNegativeButton("Negative", null)
					.setPositiveButton("Positive", null)
					.setNeutralButton("Neutral", null).show();
			break;
		case R.id.ch16_alertdlg_btn04:
			showDialog(SAMPLEDLG);
			break;
		case R.id.ch16_alertdlg_btn05:
			showDialog(QUESTIONDLG);
			break;
		case R.id.ch16_alertdlg_btn06:
			showModal();
			break;
		case R.id.ch16_alertdlg_btn07:
			new AlertDialog.Builder(this).setTitle("질문")
					.setMessage("어떤 연산을 하시겠습니까?!")
					.setPositiveButton("덧셈", listener)
					.setNegativeButton("곱셈", listener).show();
			break;
		case R.id.ch16_alertdlg_btn08:
			new AlertDialog.Builder(this)
			.setTitle("본인 미인이라 생각하는  여자옌예인을 선택하세요")
			.setIcon(R.drawable.suzy)
			.setSingleChoiceItems(R.array.GirlsDay, mSelect, 
					new DialogInterface.OnClickListener() {
				
				@Override
				public void onClick(DialogInterface dialog, int which) {
					mSelect = which;
				}
			})
			.setPositiveButton("확인", new DialogInterface.OnClickListener() {
				@Override
				public void onClick(DialogInterface dialog, int which) {
				String[] GirlsDay = getResources().getStringArray(R.array.GirlsDay);
				TextView text = (TextView) findViewById(R.id.ch16_selectdialog2);
				text.setText("선택한 여자 연예인은 " + GirlsDay[mSelect]);
				}
			})
			.setNegativeButton("취소", null)
			.show();
			break;
	
		/*case R.id.ch16_alertdlg_btn09:
			
			break;
		*/
		}
	}// end of method mOnClick
    
	
	
	
	




	DialogInterface.OnClickListener listener = new OnClickListener() {
		public void onClick(DialogInterface dialog, int which) {
			if (which == DialogInterface.BUTTON_POSITIVE) {
				result = a + b;
			} else {
				result = a * b;
			}
			TextView tv = (TextView) findViewById(R.id.ch16_alertdlg_result);
			tv.setText("연산결과는 " + result);
			Toast.makeText(Ch16AlertDlg.this, "연산완료", Toast.LENGTH_LONG).show();

		}
	};

	private void showModal() {
		try {
			Thread.sleep(3000);
		} catch (Exception e) {
		}

		boolean stat = true; // 예외 발생
		if (stat) {
			new AlertDialog.Builder(this).setTitle("예외발생!!!")
					.setMessage("야 무슨짓 했어?! 에러뜨잖아!!! ")
					.setPositiveButton("알았다 sorry 종료해", new OnClickListener() {
						public void onClick(DialogInterface dialog, int which) {
							finish();// 액티비티 종료
						}
					}).show();

		}
		Toast.makeText(this, "정상완료!", Toast.LENGTH_SHORT).show();
	}

	@Override
	@Deprecated
	protected Dialog onCreateDialog(int id) {
		if (id == SAMPLEDLG) {
			return new AlertDialog.Builder(this).setTitle("알림")
					.setMessage("대화상자오픈").setIcon(R.drawable.suzy)
					.setPositiveButton("닫기", null).setCancelable(false)
					.create();
		} else {
			return new AlertDialog.Builder(this).setTitle("질문")
					.setMessage("밥 먹었나요?").setPositiveButton("먹었음", null)
					.setNegativeButton("굶었음", null).create();
		}
	}

	@Override
	@Deprecated
	protected void onPrepareDialog(int id, Dialog dialog) {
		super.onPrepareDialog(id, dialog);
		switch (id) {
		case SAMPLEDLG:
			break;
		case QUESTIONDLG:
			Calendar cal = Calendar.getInstance();
			String sTime = String.format("%d시%d분%d초", cal.get(Calendar.HOUR),
					cal.get(Calendar.MINUTE), cal.get(Calendar.SECOND));
			dialog.setTitle(sTime);
			break;

		}
	}
}
